package com.gitee.qdbp.jdbc.plugins.impl;

import com.gitee.qdbp.jdbc.plugins.SqlFragmentOptions;

/**
 * SQL片断的选项
 *
 * @author zhaohuihua
 * @version 20201124
 * @since 3.2.10
 */
public class SimpleSqlFragmentOptions implements SqlFragmentOptions {

    /** 是否在系统启动时扫描SQL文件 **/
    private boolean sqlTemplateScanOnStartup = true;
    /** 是否允许通过fragmentId获取SQL片断 **/
    private boolean useFragmentIdQuery = true;

    /** 是否在系统启动时扫描SQL文件 **/
    @Override
    public boolean isSqlTemplateScanOnStartup() {
        return sqlTemplateScanOnStartup;
    }

    /** 是否在系统启动时扫描SQL文件 **/
    public void setSqlTemplateScanOnStartup(boolean sqlTemplateScanOnStartup) {
        this.sqlTemplateScanOnStartup = sqlTemplateScanOnStartup;
    }

    /** 是否允许通过fragmentId获取SQL片断 **/
    @Override
    public boolean isUseFragmentIdQuery() {
        return useFragmentIdQuery;
    }

    /** 是否允许通过fragmentId获取SQL片断 **/
    public void setUseFragmentIdQuery(boolean useFragmentIdQuery) {
        this.useFragmentIdQuery = useFragmentIdQuery;
    }

    /**
     * 是否输出SQL片断冲突日志
     * 
     * @return 是否输出SQL片断冲突日志
     * @deprecated 已不存在该选项的应用场景: <br>
     *             实现机制修改为扫描时不检查冲突, 只有根据sqlId获取SQL片断时, 如果获取到多个才输出冲突日志
     */
    @Deprecated
    public boolean isConflictLogsEnabled() {
        return true;
    }

    /**
     * 是否输出SQL片断冲突日志
     * 
     * @param conflictLogsEnabled 是否输出冲突日志
     * @deprecated 已不存在该选项的应用场景: <br>
     *             实现机制修改为扫描时不检查冲突, 只有根据sqlId获取SQL片断时, 如果获取到多个才输出冲突日志
     */
    @Deprecated
    public void setConflictLogsEnabled(boolean conflictLogsEnabled) {
    }
}
